import Vue from 'vue'
import Router from 'vue-router'
import store from '@/store/index'
import api from '@/axios/api/index' // 引入封装好的axiosAPI接口
// import { Toast } from 'vant'

Vue.use(Router)

const router = new Router({
  routes: [
    { //主页
      path: '/',
      name: 'Home',
      component: () => import('@/page/home/home'),
      meta: {
        title: '首页'
      }
    },
  ]
})
        
// 获取url参数
function getQueryVariable(variable){
  let myurl = window.location.href
  let newUrl = myurl.replace('?','&')
  let query = newUrl.substring(1)
  let vars = query.split("&");
  for (let b=0;b<vars.length;b++) {
          let pair = vars[b].split("=")
          if(pair[0] == variable){return pair[1];}
  }
  return(false);
}

// 路由守卫判断权限
router.beforeEach((to, from, next) => {
  // 设置页面title
  document.title = to.meta.title
  // 获取判定权限auth
  let auth = window.sessionStorage.getItem('auth')
  // 获取cooki 如果不存在auth,即未获取openid时
  if(auth == '' || !auth) { // 用sessionStorage中自定义的Auth判断权限,是否已获取oppenID.登录网站就判断一次,为了保险，采用sessionStorage,每次第一次进入就先到tx再跳回来
    let myurl = to.fullPath // 获取要去的页面的地址参数
    if(myurl.indexOf("i=") !==-1){ // 做处理，避免出现两个 i 参数的情况
      myurl = myurl.split('?')[0]
    }
    // 不存在的情况下，先存入auth和，再跳转
    window.sessionStorage.setItem('auth',1)
    // url 中参数i因为要获取，所以尽量放在后面，避免放在?号后
    let url = store.state.towxUrl + myurl
    // location.href = url
    next() // 本地调试调用此行
  } else {
    // 只有在i参数存在的情况下才会去存 i, 只能在这个地方进行判断然后存 i ，放在前面要出bug ，不要问我怎么知道的 -_-!!
    let i = getQueryVariable('i')
    if(i) {
      window.sessionStorage.setItem('auth',i)
    }
    next()
  }
})
export default router